Selective Dedication of Recording Resources to a Web Self-Service Interface

ABSTRACT

Recording resources are selectively dedicated for recording data exchanged between entities attached to a network including at least one agent in an enterprise, a user, and a server connected to the agent and the user. At least one interconnection point is selected among interconnection points in the network including one or more points between the user and the server, between the server and a data distributor connected to the user and the agent, and between the agent and the server for recording the exchanged data. Recording resources are dedicated to the selected interconnection point for recording the exchanged data based on an objective for recording the data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of commonly assigned U.S.patent application Ser. Nos. 10/061,469, 10/061,489, and 10/1061,491filed Jan. 31, 2002 and hereby incorporated by reference. Thisapplication is also a continuation-in-part of commonly assigned U.S.patent application Ser. No. 10/058,911, filed Jan. 28, 2002 and herebyincorporated by reference. This application is also related tocopending, commonly assigned U.S. Patent Applications entitled “Methodsand System for Categorizing and Cataloguing Recorded Interactions”,“Method and System for Providing Access to Captured Multimedia Data froma Multimedia Player” and “Method and System for Presenting EventsAssociated with Recorded Data Exchanged Between a Server and a User”,filed on the same day as the present application and hereby incorporatedby reference.

BACKGROUND

The present invention is directed to a method and system for selectivelydedicating recording resources. More particularly, the present inventionis directed to a method and system for selectively dedicating recordingresources for recording data exchanged between entities attached to anetwork.

For systems employing interactions between a user and server, it isoften desirable to be able to view the interactions, ideally in a mannerthat is transparent to the user. This is particularly desirable in acontext such as sales, customer service, and e-commerce, whereinteractions between customers and a service provider are importantindicators of customer satisfaction. As enterprises grow, it isimportant to keep track of interactions between agents of the enterpriseand other parties. For example, as businesses grow, it is important tokeep track of customer service contacts.

Attempts have been made to record and replay interactions between aserver and a user. However, these attempts are typically implemented atthe server and are thus suitable only for a particular type of server.In addition, these approaches typically do not distinguish betweeninteractions that are considered important and interactions that are notimportant. Thus, a lot of time and resources are wasted on replayingunimportant recorded interactions.

Another problem with conventional attempts for recording and replayinginteractions is that recording resources are not typically handledefficiently. Depending on the data to be recorded, the point(s) in thenetwork at which recording would be most efficient and/or optimal mayvary. However, recording resources are typically designated forrecording from a predefined point in the network, regardless of whattype of data exchange is to be recorded. In many typicalimplementations, the recording resources are lumped together in a pool,and resources are assigned from this pool to the predefined point on anas needed basis. This pool of resources may become exhausted, leavingnone available if additional recording is demanded. Thus, theconventional approach to assigning recording resources does notefficiently or optimally assign recording resources.

There is thus a need for a technique for dedicating recording resourcesfor recording data exchanges between a server and a user in an efficientand optimal manner, depending on the type of interaction to be recorded.

SUMMARY

The present invention is directed a method and system for selectivelydedicating resources for recording data exchanged between entitiesattached to a network including at least one agent in an enterprise, auser, and a server connected to the agent and the user.

According to exemplary embodiments, at least one interconnection pointis selected among interconnection points in the network including one ormore points between the user and the server, between the server and adata distributor connected to the user and the agent, and between theagent and the server for dedicating recording resources to record theexchanged data. Recording resources are dedicated to the selectedinterconnection point for recording the exchanged data based on anobjective for recording the data.

According to one embodiment, the interconnection points between the userand the server and between the agent and the server may each include oneor more passive taps from which the exchanged data is recorded, and theinterconnection point between the server and the data distributor mayinclude one or more active taps from which the exchanged data isrecorded. A passive tap or an active tap may be selected, depending onan objective for recording the exchanged data. For example, when theobjective is to record high volumes or 100% of the captured data, apassive tap may be selected.

According to another embodiment, the interconnection point between theuser and the server or between the agent and the server is chosen whenthe objective is to record substantially all of the exchanged data. Whenthe objective is to record only a portion of the exchanged data, e.g.,for quality monitoring, the interconnection point between the server andthe data distributor is selected for dedicating the recording resourcesfor recording the exchanged data.

According to another embodiment, the interconnection point between theuser and the server is selected for dedicating the recording resourceswhen the objective is to record a data exchange from the user'sperspective. The interconnection point between the server and the agentis selected for dedicating the recording resources when the objective isto record a data exchange from the agent's perspective.

Further objects, advantages and features of the present invention willbecome more apparent when reference is made to the following descriptiontaken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B illustrate a system for selectively recording exchangeddata according to an exemplary embodiment;

FIG. 2 illustrates an exemplary system for selectively recordingexchanged data in which the invention may be implemented;

FIGS. 3A and 3B illustrate details of an application server fordedicating recording resources according to an exemplary embodiment; and

FIG. 4 illustrates an exemplary method for dedicating recordingresources according to an exemplary embodiment.

DETAILED DESCRIPTION

According to exemplary embodiments, a method and system are provided forselectively recording interactions between entities attached to anetwork using recording resources selectively dedicated to recordingdata from particular interconnection points in the network.

According to exemplary embodiments, captured data exchanged between aserver and a user is selectively processed. In the followingdescription, the server is referred to as a web server, and the user isreferred to as a web browser. It will be appreciated, however, that theinvention may be applicable to other types of servers and users.

FIG. 1A illustrates an exemplary system for recording, capturing, andplaying back interactions in which the invention may be implemented. Thesystem includes a server, such as a web server 100, a data capturingmodule, such as a page capture module 110, and a user, such as a webbrowser 120. Although only one web server 100, page capture module 110,and web browser 120 are depicted in FIG. 1A, it will be appreciated thatthe invention is applicable to any number of servers, data capturingmodules, and users.

The web browser 120 may be implemented in a personal computer, atelephone, etc. The web server 100 may be implemented as a serversupporting any operating system, e.g., Unix, Linux, NT or Windows 2000.

The page capture module 110 is arranged between the web server 100 andthe web browser 120. For security purposes, a firewall 115 may separatethe web browser 120 and the page capture module 110.

The page capture module 110 operates independently from the web server100 and the web browser 120. Thus, the page capture module 110 does notneed to be customized for each type of web server but may be used withany web server, supporting any operating system.

Although the page capture module 110 operates independently from the webserver 100 and the web browser, it may be implemented in the same deviceas the web server 100 or the web browser 120.

The page capture module 110 captures pages and other data exchangedbetween the web server 100 and the browser 120. Pages and other data maybe captured continually or at designated intervals or time windows, Thepage capture module 110 may also record these pages and other data, orrecording may be performed in a separate recorder server connected tothe page capture module.

Each web browser 120 is assigned a unique machine identity (ID) by theweb server 100. A persistent machine ID cookie may be created by the webserver 110 and stored at the web browser 120 for this purpose. All pagesserved to a particular web browser 120 are identified and grouped by themachine ID.

Although the module 110 is described as a page capture module, accordingto exemplary embodiments, other types of data may also be captured. Forexample, events and attributes may be captured. Attributes may becaptured in a manner similar to that in which pages are captured, asdescribed above.

For event capturing, according to an exemplary embodiment an eventcapture module captures user side events and delivers these to the pagecapture module 110. The event capture module may be implemented as anapplet 130 that is downloaded to the web browser 120. Although shown asa separate component, the event capture applet 130 is stored at thebrowser, with parameters such as the web browser machine ID, the hostInternet Protocol (IP) address, and the current page name. The eventcapture applet 130 may be notified, for example, by JavaScript embeddedin the current page, whenever an event needs to be recorded. The eventcapture applet 130 records events such as: page load, page unload, pagescroll, page resize, and browser exit. The event capture applet 130sends captured events to the page capturing module 110 via, for example,a Transmission Control Protocol/Internet Protocol (TCP/IP) socketconnection on port 80 (or port 443 for secure exchanges).

Pages and other data captured during exchanges between the web server100 and the web browser 120 at the page capture module 110 are sent fromthe page capturing module 110 to a page preprocessor 125 via, e.g., aTCP/IP socket.

According to an exemplary embodiment, each captured page is assigned aunique page ID and is associated with a specific browser user machineID. Each page may also contain the date and time that the page wascaptured and the page status (recording, processing, playback, etc.)After pages are captured, this information is extracted from thecaptured page, and a new record is inserted into a database 145.

The page preprocessor 125 acts as a recorder server and stores thecaptured data in a device such as a database 145. The pages 135 are thenpassed on to the page post-processor 140. Alternatively, the pagecapturing module 110 may perform this recording. To reduce the amount ofstorage necessary, only predetermined portions of data may be stored,e.g., the request portion or the response portion. Also, only datasatisfying predetermined rules, e.g., rules indicating timing, may bestored. When the captured pages are recorded, identifying informationmay also be recorded, e.g., a session record ID, a date/time ofrecording, a machine ID, etc.

An exemplary page capturing module and an exemplary page preprocessorare described in more detail in the aforementioned U.S. patentapplication Ser. No. 10/061,469.

A post-processing module 140 determines which captured data satisfiespredefined rules, e.g., business rules, and records this data in a file180, such as a Java Archive (JAR) file. The database 145 is updated toindicate what captured data has been selected and recorded for playback.This is described in more detail below with reference to FIG. 11B.

A playback tool 190 selects recorded data from the database 180, usingthe information in the database 145. An exemplary playback tool isdescribed in more detail in the afore-mentioned U.S. patent applicationSer. No. 10/061,491.

Although not shown in the interest of simplifying the illustrations, itwill be appreciated that the system in FIG. 1A may also include othercomponents, e.g., configuration files used for processing.

FIG. 1B illustrates in detail an exemplary system for processingcaptured data according to an exemplary embodiment. Captured andrecorded pages, attributes, and events are fed to a page post-processingprogram running on a page post-processor 140. A business rules engine150 delivers business rules to the post-processor 140 that evaluate thecaptured/recorded pages to determine whether they satisfy the businessrules.

The terminology “business rules” has a commonly accepted meaning in theart and in this context refers to business elements for comparison withcaptured data in real time. Examples of comparison of captured data withbusiness rules include determining whether an interaction resulted in asale greater than a predetermined number of dollars, determining whetheran interaction lasted longer than a predetermined number of minutes,etc. Also, a business rule comparison may be in the form of voicerecognition. Business rule comparison may be made active or inactive ona defined schedule.

Data from a page table database 160 and a page rule table database 170may be used during the evaluation by the business rule engine 150. Pagesthat satisfy the business rules are recorded for future playback. Thepage table and page rule database are updated after post-processing.

Further details regarding post-processing are provided in theafore-mentioned U.S. patent application Ser. No. 10/061,489.

According to an exemplary embodiment, business rules are applied tocaptured pages using an applications server such as the server 200 shownin FIG. 2. The server 200 show in FIG. 2 may be implemented as aComponent Object Model (COM) based server.

According to an exemplary embodiment, the server 200 includes a businessrules engine, such as the engine 150 shown in FIG. 1B, an editor, and ascheduled rules processor. The server 200 may also be connected to abusiness object layer (BOL) 210, a data abstraction layer (DAL) 220 and225 and a repository or database 230. The components 210, 220, 225 and230 may be included in the server or as one or more separate entities.

Attributes of contacts and metadata may be stored in the database 230,as well as business rule data populated and manipulated by the editor.The server 200 communicates with the database 230 to obtain the businessrules. The engine 150 applies the business rules to the captured dataand communicates with a recorder server 240 for recording the captureddata that satisfies predetermined business rules.

The business rules editor may be a Java applet running in a browser(e.g., MSIE or NN) on the client machine such as the computer 250 shownin FIG. 2. The applet may communicate to COM objects on the server 200using a COM-Java bridging tool. This provides the capability for theapplet to access the COM objects as though they were Java objects. Theeditor applet may be integrated with a category manager and usersecurity administrator applets into what appears to the user to be oneapplication

The BOL 210 interfaces with both the business rule editor applet and theDAL 220 and 225 to manage traffic to and from the database 230.

The server 200 communicates with a client computer, such as the computer250, which may be used by an agent. The client computer may beimplemented as a browser-based application, utilizing Java applets andHTML, and interfacing with some COM-Java bridging tool (Jintegra orR-JAX) to allow the Java-based client to communicate with the COM-basedserver.

The recorder server 240 communicates with an end user via, e.g., a phoneswitch 260 and a PSTN 270. The phone switch also referred to as a “datadistributor” may include, e.g., a private branch exchange (PBX) and anautomatic call distributor device (ACD).

According to an exemplary embodiment, only captured data that satisfiespredetermined business rules is recorded. According to this embodiment,the server 200 selects data from data exchanged over the networkconnecting the server 200, the client 250, and the user 280 thatsatisfies predetermined business rules. Captured attributes and contentare analyzed in, for example, the BRE 150 at the server 200, todetermine whether they satisfy predetermined business rules. Data thatsatisfies these rules may be recorded in a database 230. A user may benotified of customer contact center transactions.

According to another embodiment, all captured data may be recorded, andthe data that does not satisfy predetermined business rules may bediscarded. This ensures that the entire interaction is captured. If thestorage capacity is large enough, this can, in effect, captureinteractions in the past.

According to yet another embodiment, only portions of captured data maybe recorded. This partial recording may be most beneficial for purposessuch as transaction verification in which partial samples aresufficient.

According to another embodiment, data may be captured by capturing onlychanged areas of an agent's screen to minimize network utilization. Thisis described in more detail in commonly assigned U.S. Pat. No.5,790,798, incorporated herein by reference.

According to another embodiment, random agent monitoring and eventmonitoring are provided in which a percent of contacts is automaticallymonitored and recorded for future playback. Live monitoring may alsoprovided, in which monitoring for both voice and data or real-timecontacts may be initiated, and these contacts may then be recorded. Thissampling may be most beneficial for purposes such as quality monitoring,in which samples of interactions are sufficient.

According to another embodiment, one or more agents 250 may alsoinitiate recording of real-time contacts, e.g., when there is a seriouscomplaint or customer feedback about a new product or service that isbeing provided to a customer. Agents may also disable monitoring for aparticular call for various purposes, e.g., if a customer requests itfor legal purposes.

According to an exemplary embodiment, exchanged data may be recordedfrom one or more points between the user 280 and the phone switch 260,between the phone switch and the server 200, or between the client(agent) 250 and the server 200. Points between the user 280 and thephone switch 260 may be referred to as “trunk-side points”, pointsbetween the server 200 and the phone switch 260 may be referred to as“service observation points”, and points between the agent 250 and theserver 200 may be referred to as “station-side points”. Thedetermination of which point to record from may be performed by theserver 200.

According to exemplary embodiments, the server 200 selectively dedicatesrecording resources for recording data from one ore more points withinthe network. For this purpose, the server includes a media channelbroker that assigns available recording resources from a media list forrecording from one or more interconnection points that are selectedbased, e.g., on the objective(s) for recording the data. The channelmedia broker may be contained in a content manager 155 shown as part ofa system shown in FIGS. 3A and FIG. 3B.

Referring to FIGS. 3A and 3B, the content manager 155, which manages howcontent is recorded, communicates with a contact manager 151. Thecontact manager 151 manages contact folders in which contacts/exchangeddata is recorded. The contact manager 151 is in communication with thebusiness rules engine 150 for mapping business rules to folders. Thebusiness rules engine 150, in turn, is in communication with a BOL 510that communicates with the database, e.g., through the DAL 520.

As shown in FIG. 3B, the contact manager 151 may communicate with thebusiness rule engine 150 via an internal event notification service 156.The internal event notification service 156 controls notification ofevent occurrence through the email notification service 158 and thepager notification server 157. Notification is described in more detailin the afore-mentioned U.S. Patent Applications entitled ““Methods andSystem for Categorizing and Cataloguing Recorded Interactions” and“Method and System for Providing Access to Captured Multimedia Data froma Multimedia Player”.

As shown in both FIGS. 3A and 3B, the contact manager is 151 also incommunication with the client via a call or session manager 152 thatmanages sessions, a DCOM interface 153, and a CTI adapter 555. Thecontact manager 151 also communicates with the event persistence 154,e.g., through the internal event notification service 156. The eventpersistence 154 maintains events and permits a user to jump to a pointin a contact at which an event occurred. The event persistence 154, inturn, communicates with the database 530.

Also shown in FIG. 3B are a scheduler 159 and a live monitoring andplayback service 161. The scheduler 159 coordinates scheduling of eventoccurrence. The live monitoring and playback service 161 controlsplayback of recorded data and live monitoring of data and is connectedvia a playback socket to a user desiring to playback or monitor thedata.

The components to the right of the dashed-dotted lines in FIGS. 3A and3B may be implemented, e.g., in an application server 200.Alternatively, some of the components shown to the right of thedashed-dotted lines in FIGS. 3A and 3B may be implemented as separateentities.

According to an exemplary embodiment, the content manager 155 takes intoaccount one ore more objectives for recording the data for selectingwhich point(s) in the network to record from.

Another objective for recording the data may be for recording only aportion of the exchanged data. This may be useful for quality assurancemonitoring, when only a few samples of data are needed. According toexemplary embodiment, the service observation point is best suited forrecording data for this objective. The service observation pointtypically leverages a pool of resources (service observation ports) on auser's phone switch. This is best suited for customers who areinterested primarily in quality assurance sampling or otherwise very lowvolume recording.

Service observation ports are typically provisioned for a relativelysmall percentage of the overall number of agents that might bemonitored. Thus, it is possible to run out of these ports at certaintimes. Thus, the service observation point may not be suitable whenlarger percentages of data needs to recording.

Another objective for recording the data may be for recording 100% or ahigh volume of interactions. This may be useful for sales verificationwhere an agent needs to record the customer's consent to purchase aproduct, and a recording resource needs to always be available. Theagent (station) side interconnection point can handle a designatedrecording resource for each agent telephone that is capable of beingrecorded. The trunk-side interconnection point can handle dedicatedrecording resources for each trunk (or telephone line) that is capableof being recorded. Also, passive taps, such as those that may beincluded at the trunk side and at the station side do not requiremonitoring while active taps, such as those that may be included at theservice observation port, do require monitoring, e.g., at the switch(PBX). Thus, for recording a large number of interactions, thestation-side interconnection point and the trunk side interconnectionwould likely be most suitable.

Another objective for recording the data may be to record the data froma particular entity's perspective, e.g., the user's perspective. Thismay be useful, for example, if a call from a user is not completed andnever deliver to the agent. With agent-side recording, the call mustfirst have been connected to an agent in order to record. Thus,agent-side recording may not be a suitable implementation for thiscondition. With trunk-side recording, the call may be captured as thecustomer navigates his or her way through eh interactive voice responsesystem (IVR) system that asks for the customer's account number, PIN,etc. This allows the entire call center transaction to be captured formthe customer's perspective.

It will be appreciated that the recording objective may also be torecord data from the agent's perspective or from the station'sperspective. For these cases, agent-side recording and serviceobservation point recording would be selected, respectively.

According to an exemplary embodiment, objectives for recording data maycorrespond to one or more business rules that are applied to determinewhat data is recorded.

For example, if an objective for recording data is to record a 3% randomsample of all agent calls for quality assurance purposes, a businessrule may be created that indicates that data satisfying a 3% randomsample of all agent calls is to be recorded. Given the small number ofcalls represented by this business rules, the service observation pointis the most suitable interconnection point from which to record theexchanged data. Thus, if this is the business rule to be applied, aservice observation point would be selected as the interconnection pointfrom which to record the exchanged data.

As another example, if an objective for recording data is to record 100%of those calls that have results in the sale of a particular product, abusiness rule may be created that indicates that 100% of data resultingin the sale of that particular product should be recorded. Since thestation-side points and the trunk-side points are the most suitable for100% recording, either or both of these points may be selected as theinterconnection point(s) from which to record the exchanged data.

As yet another example, if an objective for recording data is to record100% of those calls where the customer transaction ended “in” theinteractive voice response (IVR) and was not routed to agent forhandling, a business rule may be created that indicates that 100% ofdata ending in the IVR should be recorded. Given that the trunk-sidepoint is the only suitable point for 100% recording and recording wherethe agent is not contacted, the trunk-side point would be selected asthe interconnection point from which to record the exchanged data.

FIG. 4 illustrates an exemplary method for designating recordingresources for recording from one or more interconnection points. Themethod begins at step 400 at which one or more interconnection pointsare selected in the network from this to record data based, e.g., on oneor more objectives for recording the data. Next, at step 450, therecording resources are dedicated to the selected interconnectionpoints(s). From this point, recording may commence.

In addition to data recording, after-call monitoring may also beprovided, by which an agent's screen actions after the contact ends maybe monitored or recorded. For example, an agent may wait until after thecustomer hangs up to enter information that could have been enteredduring a call. This type of situation offers an excellent trainingopportunity. Agents may be monitored from any point, based, e.g., onlogin information from the switch.

Also, customer transactions may be documented and retained by capturingthe customer's verbal authorization. This voice signature capabilitysimplifies the sale process and reduces costs by leveraging verbalrather than written authorization for certain types of transactions,such as consumer debits authorized over the telephone.

In addition, agent feedback may be provided either during a contact orafter a contact, informing the agent that the contact is being recordedor has been recorded. Training may be provided to the agent asappropriate, based on the recorded interaction.

It should be understood that the foregoing description and accompanyingdrawings are by example only. A variety of modifications are envisionedthat do not depart from the scope and spirit of the invention. The abovedescription is intended by way of example only and is not intended tolimit the present invention in any way.

1-32. (canceled)
 33. A method for selectively dedicating resources forrecording data exchanged between entities attached to a networkincluding a web self-service interface in a contact center enterpriseand a user, the method comprising the steps of: selecting aninterconnection point among a plurality of interconnection points in anetwork, including a point between a user and a server, or between theserver and a data repository, the selection being based on a recordingrule for recording data; dedicating a recording resource to the selectedinterconnection point, the recording resource being operable to recordnavigations of the web self-service interface; wherein the recordingresource associates a unique machine identification and times with therecorded navigations, thereby enabling the identification of at leastone session based upon the unique machine identification and the timesassociated with the recorded navigations.
 34. The method of claim 33,wherein the recording resource comprises at least one active tap, theactive tap being operable to selectively record only particular sessionsthat include a selective recording parameter configurable to be definedby the contact center enterprise.
 35. The method of claim 34, whereinthe recording resources comprise at least one passive tap, the passivetap being operable to record substantially all sessions.
 36. The methodof claim 35, wherein dedicating recording resources comprise choosingbetween said at least one active tap and said at least one passive tapbased upon the recording objective.
 37. The method of claim 36, whereinthe recording objective comprises maximum available network bandwidthduring a period of high usage of the web self-service interface.
 38. Themethod of claim 36, wherein the recording objective comprises maximizingavailable network bandwidth during a period of high usage of the webself-service interface.
 39. The method of claim 36, wherein therecording objective is to record as many sessions as possible.
 40. Themethod of claim 33, wherein the web self-service interface furthercomprises a chat interface, whereby the user can interact with a contactcenter agent via the chat interface.
 41. The method of claim 33, whereinthe web self-service interface further comprises a voice interactioninterface, whereby the user can interact with a contact center agent viathe voice interaction interface.
 42. The method of claim 33, wherein thestep of selecting further comprises selecting the interconnection pointbetween the server and the data distributor when the recording objectiveis to record only a portion of the exchanged data.
 43. The method ofclaim 41, wherein the step of selecting further comprises selecting theinterconnection point between the server and the data distributor whenthe recording objective is to record the exchanged data for qualitymonitoring.
 44. The method of claim 33, wherein the step of selectingfurther comprises selecting the interconnection point between the userand the server when the recording objective is to record a data exchangefrom the user's perspective.
 45. The method of claim 33, wherein thestep of selecting further comprises selecting the interconnection pointbetween the server and the agent to when the recording objective is torecording a data exchange from the agent's perspective.
 46. A selectiverecording system operable to selectively dedicate recording resources toat least one of a plurality of interconnection points between a user anda web self-service interface in a contact center enterprise, the systemcomprising: a selection agent configured to select from among aplurality of interconnection points in a network, including pointsbetween a user and a server, or between the server and a datarepository, the selection being based on a recording rule for recordinguser navigations of the web self-service interface; a dedication agentconfigured to dedicate a recording resource to the selectedinterconnection point, the recording resource being operable to recorduser navigations of the web self-service interface; recording resourcesconfigured to communicated with the dedication agent and to record theuser navigations captured via the selected interconnection point, basedupon instructions from the dedication agent; and wherein the recordingresources associate a unique machine identification and times withrecorded navigations of the web self-service interface, thereby enablingthe identification of a session based upon the unique machineidentification and the times associated with the recorded navigations.47. The method of claim 46, wherein the recording resources comprise atleast one active tap, the active tap being operable to selectivelyrecord only particular sessions that include a selective recordingparameter, configurable to be defined by the contact center enterprise.48. The method of claim 47, wherein the recording resources comprise atleast one passive tap, the passive tap being operable to recordsubstantially all sessions.
 49. The method of claim 48, wherein thededication agent is operable to dedicate recording resources by choosingbetween said at least one active tap and said at least one passive tapbased upon the recording objective.
 50. The method of claim 49, whereinthe recording objective comprises maximizing available system datastorage space.
 51. The method of claim 49, wherein the recordingobjective comprises maximum available network bandwidth during a periodof high usage of the web self-service interface.
 52. The method of claim49, wherein the recording objective is to record as many sessions aspossible.
 52. The method of claim 46, wherein the web self-serviceinterface further comprises a chat interface, whereby the user caninteract with a contact center agent via the chat interface.
 54. Themethod of claim 46, wherein the web self-service interface furthercomprises a voice interaction interface, whereby the user can interactwith a contact center agent via the voice interaction interface.
 55. Themethod of claim 46, wherein the step of selecting further comprisesselecting the interconnection point between the server and the datadistributor when the recording objective is to record only a portion ofthe exchanged data.
 56. The method of claim 55, wherein the step ofselecting further comprises selecting the interconnection point betweenthe server and the data distributor when the recording objective is torecord the exchanged data for quality monitoring.
 57. The method ofclaim 46, wherein the step of selecting further comprises selecting theinterconnection point between the user and the server when the recordingobjective is to record a data exchange from the user's perspective. 58.The method of claim 46, where in the step of selecting further comprisesselecting the interconnection point between the user and the server whenthe recording objective is to record a data exchange from the agent'sperspective.
 59. One or more computer readable media programmed toselectively dedicate recording resources used to record data exchangedbetween entities attached to a network, including at least one webself-service interface in an contact center enterprise and a user, thecomputer readable media comprising: a selection component configured toselect from among a plurality of interconnection points in the network,the plurality of interconnection points including at least one pointbetween the user and the server, between the server and a datadistributor connected to the user and the web server, or between the webserver and the server for recording the exchanged data based on an atleast one rule for recording data; a dedication component configured todedicate recording resources to the selected interconnection point, therecording resources being operable to record user navigations of a webself-service interface; wherein the recording resources are operable toassociate unique machine identifications and times with the recordednavigations, thereby enabling the identification of a session based uponthe unique machine identifications and the times associated with therecorded navigations; wherein the selection from among theinterconnection points includes a selection between one or more activetaps and one or more passive taps.